Optical Surface Encoder

ABSTRACT

An apparatus to generate data relating to a specular surface of an object, the apparatus including a screen that is movable relative to the object, a graphic rendered on the screen&#39; wherein the graphic is notionally divided into contiguous segments such that the graphic content in each segment allows that segment to be distinguished from a plurality of other segments, at least one camera for capturing successive frames of the object&#39; illuminated by said graphic, during said relative movement of the screen, and a computing device that accepts data from pixels of the captured frames.

BACKGROUND OF THE INVENTION

The present invention relates to an apparatus that facilitatesacquisition of a light map sensitive to the shape of a specular surfaceof an object, viewed by a camera, and surrounded by an artificial scenedesigned to facilitate the process of producing the light map.

As is known in the field of deflectometry, a light map is useful indigital recovery of the three-dimensional shape of an object's specularsurfaces [Balzer et. al 2014]. A light map has also been referred to asa Simple Geometric Mapping Function in [Rapp et. Al. 2012].

An existing approach to producing a light map is diagrammaticallyillustrated in FIG. 1, wherein a succession of images displayed by asuitable display 10 illuminate a specular object 12. The object 12 isviewed by a camera 16. The camera 16, the object 12, and the display 10are stationary and held in a fixed relationship to one another, suchthat any particular point on the surface of the display 10 embodies ascene point. The displayed images are each predetermined and differ fromone another. The camera 16 acquires successive frames relating to therespective displayed images. Data relating to the acquired frames isthen submitted to a computing device 18 for processing.

For the computing device 18 to produce a light map, it may consider thedata relating to each camera pixel, which data (called the observedsignal) describes what that camera pixel observed over the framesequence, and therefrom attempt to determine to which scene point thatcamera pixel is responsive.

To facilitate the aforementioned process, a technique called temporalencoding may be employed. To employ temporal encoding, the displayedimages are designed such that each point on the display is identifiable(to some required degree of accuracy) from the light signal emanatingfrom that point on the display over the succession of displayed imageswhich are separated in time. This means that any two points on thedisplay that are (for practical purposes) physically separate from oneanother emanate light signals (over the succession of displayed images)that are (for the same practical purposes) distinguishable from oneanother.

The computing device 18 attempts to apply temporal decoding, which is toattempt to recognize the scene point corresponding to a camera pixel'sobserved signal. By repeating this for each camera pixel, the computingdevice can construct the light map. For some camera pixels this processmay fail (and indeed should fail when the camera pixel is not responsiveto any scene point on the display's active surface) in which case thatcamera pixel remains unmapped.

One technique in the field of deflectometry that employs temporalencoding has been referred to as “phase-measuring deflectometry withmulti-frequency temporal phase unwrapping” by [Huang et al 2018].

Some other techniques in the field of deflectometry employ partialtemporal encoding (meaning that ambiguity remains after temporaldecoding) in conjunction with assumptions about spatial constraints andlocal smoothness of the object's surface (to resolve said ambiguity) toarrive at the same result. One such technique has been referred to as“phase measuring deflectometry with marker-assisted spatial phaseunwrapping” [Huang et al 2018].

The arrangement shown in FIG. 1 works reasonably well when the surfaceof the object 12 is substantially flat. However if the surface has asignificant degree of curvature anywhere, then a large display 10 may becalled for in order to cover the object's specular surface, from theperspective of the camera 16, in a reflected image of the display, andthereby maximize the coverage of the specular object's surface withmapped pixels. Employing a large display is liable to increase the costof producing such a system.

For some objects even an infinitely large flat display would provideinsufficient coverage (of camera pixels mapped to display points in thelight map) as a flat display cannot subtend more than 180° at theobject, and an arcuate or cylindrical display may be called for.Substantially arcuate or cylindrical displays are not as readilyavailable as flat displays, and liable to significantly impact the costof producing such a system.

While an arcuate or cylindrical display can potentially subtend an anglegreater than 180° (at the object) along its curved dimension, it cannotaccomplish this along the transverse (uncurved) dimension. A displaythat is curved along two perpendicular dimensions would be even lessreadily available and more difficult to manufacture from readilyavailable rectangular display modules.

One approach to addressing the aforementioned problems is to usemultiple displays, arranged around the object under inspection [Balzeret al. 2014]. However, this approach introduces seams/artefacts into theacquired light map at the edges and corners where the flatdisplays/screens meet one another. Moreover the approach remainsmechanically cumbersome, requiring either multiple large displays heldin a specific relationship to one another, or careful positioning andcalibration in the case of projectors and screens.

Another problem encountered in the aforementioned approaches is that thecameras observing the object under inspection may themselves occludeparts of the scene from parts of that object. In any given camera'sperspective, the parts of the object's specular surface covered inreflected images of the cameras (including the viewing camera itself)will remain unmapped in the light map eventually produced (and thereforethat part of the object's specular surface cannot be digitally recoveredor analyzed by means of that light map).

Another limitation of all the aforementioned approaches is that displaysand projectors emitting light of invisible wavelengths are not asreadily available as those emitting visible light, [Hofer et al 2016,Huang et. al. 2018], since commercially available displays andprojectors are normally intended for human viewing. For example,surfaces such as those of unpainted steel may be insufficiently specularat visible wavelengths of light yet sufficiently specular at longerwavelengths such as infra-red. Infra-red cameras are readily available,and it may be desirable to use an infrared-emitting scene surface toproduce a light map for such surfaces.

To use infrared light for scene point encoding, one approach is to applyor print a static sinusoidal pattern (varying along one dimension) on athermally emitting metallic sheet (potentially heated), and then tophysically shift and rotate the sheet [Höfer et al 2016], so as toemulate the display in phase measuring deflectometry. Accomplishing thismovement, involving two degrees of freedom may be complex and costly,and the encoded scene surface is presumably confined to a plane.

An object of the present invention is to address to a significant extentthe aforementioned problems and limitations by encoding scene pointswith an apparatus that involves an illuminant physically movable withone degree of freedom.

SUMMARY OF THE INVENTION

In the following description use is made of a number of technical termswhich have specific meanings. To eliminate ambiguity as to the meaningsof these terms the definitions in Annex A should be applied.

The definitions in some instances may extend to inventive features and,in that respect, are to be interpreted and applied as potentiallyembodying aspects of the disclosure of the inventive concept and itsmanner of application.

According to the present invention there is provided an apparatus tofacilitate generation of a light map sensitive to a specular surface ofan object under inspection, which apparatus includes:

-   -   (a) a screen that is movable with sliding motion relative to the        object,    -   (b) a predetermined latitude-encoding graphic rendered on the        screen in accordance with its intrinsic latitude and longitude        coordinate system, determined by the screen's sliding motion        parameterized by a slide parameter,    -   (c) at least one camera for capturing successive frames of the        object during said relative sliding motion of the screen, and    -   (d) a computing device that accepts data of the captured frames        for storage or processing.

The screen, may be shaped as a self-sliding surface.

The screen may be movable relative to the object with primarily onedegree of freedom. The camera may be held in a fixed spatialrelationship to the object.

The rendering of the graphic on the screen may be such that the renderedgraphic illuminates the object from all positions traversed by thesliding screen.

The sliding motion may be controlled or time-predictable or otherwisemeasured, or alternatively a control mechanism may be used, to associateeach captured frame with the slide parameter at the time that the framewas captured.

The slide parameter may be referred to as the “scan state” as itidentifies the position of the screen within its set of positionstraversable by sliding motion.

The camera and the object are stationary or held in fixed relation toone another. During a procedure hereinafter referred to as “a scanprocedure”, the screen undergoes sliding motion from an initial positioncorresponding to scan state s₀ to a final position corresponding to scanstate s₁, while the camera captures frames of the object as illuminatedby the latitude-encoding graphic carried by the moving screen.

The screen may be embodied in any suitable way and the graphic may berendered on the screen in any suitable way. These are not hereconsidered significant problems to solve.

The apparatus may include a synchronising mechanism for associating eachframe captured by the camera with a scan state (i.e. screen position)corresponding to the frame's time of capture.

If the motion of the screen is controlled in such a way that the scanstate is a predictable function of time, then the synchronizingmechanism may simply associate each camera frame with the time-predictedscan state corresponding to the camera frame's time of capture. In analternative embodiment, the synchronizing mechanism may employ adistance sensor or position encoder, the measurements of which may beused to estimate the scan state at the time of each captured cameraframe.

The data relating to the captured camera frames are input to thecomputing device, together with the scan state associated with eachcamera frame (or sufficient information to determine it).

If the frames were captured during sliding motion with sufficientfrequency (with respect to scan state) then the computing device is in aposition, for each camera pixel, to reconstruct an approximation of thesignal describing light incident on said pixel as a function of scanstate.

That region of the screen's (stationary and notional) reference surfacethat is traversed both by the screen's leading edge and by the screen'strailing edge during the scan procedure is referred to hereinafter asthe “encoded scene surface”.

Due to the way in which the latitude-encoding graphic is embedded on thescreen in relation to its sliding motion, any given scene point (fixedin the encoded scene surface) is visited by all points of thecorresponding latitude on the screen (and therefore by an entirelatitude codeword of the graphic) during the course of the scanprocedure. The light emanating from any point in the encoded scenesurface, as a function of the slide parameter (i.e. scan state) can bedescribed by the scene point's latitude codeword shifted by the scenepoint's longitude.

More formally: If the screen is described parametrically by ((u, v)∈R)

(P(u+s,v)∈

³) where u is longitude on the screen, v is latitude on the screen s isthe scan state and P(u+s,v)∈

³ is the physical location of the point with screen longitude u andscreen latitude v, and if the latitude-encoding graphic is (u,v)

G(u,v), then the light emanating from any moving point P(u+s,v) in theencoded scene surface is described by G(u,v) and therefore the lightemanating from any stationary point P(U,V) in the encoded scene surfaceis described by G(U−s,V)=G_(V)(s−U).

To facilitate prospective identification of the latitudes of unknown butfixed scene points from optical signals describing light observed to beemanating from those scene points (as a function of scan state), thelatitude-encoding graphic may be selected (by design) such that eachrespective latitude corresponds to a unique readable codeword, or suchthat readable codewords at consequentially different latitudes (for thepractical purposes of the invention) are recognizably different from oneanother (for the same practical purposes).

Moreover, since the optical signal emanating from any given scene pointis in general approximated by a latitude codeword shifted by that scenepoint's longitude, the latitude-encoding graphic may be selected (bydesign) such that readable codewords at consequentially differentlatitudes are separated by a sufficient shift-invariant distance torobustly discriminate between them in the presence of noise ordistortion.

Each camera pixel that is responsive to a (typically small)neighbourhood of scene points in the encoded scene surface, observeslight (varying over scan state) that is an aggregation of the lightemanating from the scene points in that neighbourhood, combined withother light such as diffuse reflection on the object's surface.

Diffusely reflected light observed by any given camera pixel at somepoint on the object's surface originates from a diffuse variety of scenepoints, and therefore changes gradually, if at all, during the motion ofthe screen, and can in principle be suppressed by a high-pass filterknown in the art of signal processing.

The latitude-encoding graphic may be selected (by design) such that itslatitude codewords comprise relatively high-frequency components, so asto facilitate discrimination of specular reflection (observed by acamera pixel and originating from a particular scene point'sneighbourhood) from diffuse reflection consisting predominantly oflow-frequency components in the combined optical signal (describingobserved light as a function of scan state).

Due to spatial variation in curvature of the specular surface of theobject under inspection, as well as due to other factors that varyspatially, some camera pixels are (individually) responsive tosubstantially larger regions of the encoded scene surface thanapproximated by the reading resolution.

The latitude-encoding graphic may be selected (by design) such that thepointwise average of neighbouring readable codewords is similar to thereadable codeword corresponding to the average of those neighbouringreadable codewords' latitude. More particularly, the latitudinal codenonlinearity of the latitude-encoding graphic may be bounded above by apredetermined maximum value suitable for the expected degree of maximumcurvature in the specular surface of the object under inspection.

The camera may be situated inside the encoded scene surface (meaning onthe same side of the encoded scene surface as the object underinspection) or outside (meaning on the other side of) the encoded scenesurface, in which case it cannot occlude parts of the encoded screensurface from the object, although the object may be occluded from thecamera by the moving screen at some point during its motion.

To facilitate use of a screen that is substantially narrower than it islong, the latitude-encoding graphic may be selected (by design) to havea latitudinal code packing coefficient that is substantially greaterthan 1.0 (which corresponds to the latitude-encoding graphic used inFIGS. 4(a) to 4(c)).

The optical signal (varying over scan state) observed by any givencamera pixel (during the scan procedure) may have a component arisingfrom diffuse reflection, which component may be suppressed by asignal-conditioning process such as high-pass filtering.

In the optical signal observed by any given camera pixel responsive tosome encoded scene point may be decoded by means of a lookup tablepopulated by (G_(v), v) entries separated by a sufficiently shortlatitude interval. The latitude decoding may in principle then proceedby selecting the latitude v in the entry whose codeword G_(v) is mostsimilar (in some appropriate sense such as having the lowestshift-invariant distance) to the original latitude codeword (or shiftedversion of it that had been observed). If the observed signal isconditioned (such as by high-pass filtering) then the G_(v) entriespopulating the lookup table may be similarly pre-conditioned by the sameprocess.

In principle the longitude of the scene point from which an observedoptical signal emanated can be determined from the (potentiallyconditioned) observed signal and its decoded latitude's (potentiallypre-conditioned) codeword as being equal to the relative shift thatminimizes the optical distance between them, or between similarlyconditioned versions of them.

To facilitate prospective identification of longitudes of scene pointsfrom which observed signals emanated, the latitude-encoding graphic maybe selected (by design) such that readable codewords each havesufficiently concentrated auto-correlation functions, which may beattained if the codewords have sufficient spatial bandwidth (alonglongitude), such as for example by including at least one high contrastfeature, such as a black-white (or other contrasting colours or symbols)(longitudinally) edge extending across latitudes.

If the latitude-encoding graphic is such that the latitude and longitudeof a scene point can be identified from the light emanated by that scenepoint (or the signal describing said light over scan state) then thescene points within the encoded scene surface have been temporallyencoded, and the frames captured by the camera during the scan procedure(together with their associated scan states) constitute an encoded lightmap.

For purposes of inspecting objects with surfaces that are more specularto infrared light than to visible light, the screen may be embodied, forexample, by a metallic sheet shaped appropriately and potentiallyheated, with the graphic applied to it by means of a thermally-emissivesubstance e.g. black paint. This is also known as an emissivity-codedscreen in [Höfer et. al 2016].

The metallic sheet may be cut away in regions, or may be otherwisetreated to contrast with a background.

Additional cameras may be employed in different positions (allstationary relative to the object) to generate additional light maps(for example to measure different regions of the object's specularsurface, or for purposes of enriching the acquired data). These camerascan be considered to instantiate multiple instances of the presentinvention sharing all components except the cameras.

To extend the encoded scene surface to a greater range of latitudes atthe cost of introducing ambiguity in the prospective latitude decodingprocess, multiple latitude-encoding graphics (which may employ some orall of the same latitude codewords) may be rendered on the screen tooccupy different (preferably disjoint) intervals of latitude. Anintroduced ambiguity may be resolved by means outside of temporalencoding/decoding, which may involve techniques of spatialphase-unwrapping known in the art. FIG. 6 depicts an example of alatitude-encoding graphic repeated cyclically at consecutive latituderanges, with particular latitude codewords modified (by introducingdots) with a view to later serving as absolute phase markers inmarker-assisted spatial phase unwrapping in the eventual decoded lightmap.

The latitude-encoding graphic may be carried on any suitably shapedslidable surface. Such surface may be arcuate and be curved sufficientlyto ensure that the at least one camera can detect reflections from allpoints on the object. It may therefore be necessary to make use of aplurality of cameras with each camera being in a fixed position relativeto the object.

The graphic may be elongate with a length which is greater, possibly byorders of magnitude, than its width. The movement of the graphic may betransverse to its length i.e. in the direction of its width.

It is preferable to move the graphic with respect to the object and thecameras (which are kept stationary), but this is not essential, forconceivably the graphic could be kept stationary and the object and thecameras, which are maintained in a fixed spatial relationship to oneanother during the scan procedure, could be moved with respect to thegraphic.

The distance by which the screen (and hence the graphic) is movable maybe at least five times greater than its width (or median width ifapplicable). The physical constraints and comparative factors mentionedherein assist in the implementation of a cost-effective apparatus with asatisfactory resolution.

Thus in contrast to the prior art approach described hereinbefore withreference to FIG. 1 the present invention in one embodiment makes use ofa single graphic which is designed for the purpose and which is causedto move relative to a stationary object which is viewed by means of oneor more cameras which are fixed relative to the object i.e. the objectis kept stationary in the field of view of the camera which thencaptures a succession of frames of the object.

In one embodiment any slice on the graphic has a longitudinal coordinatethat varies on a line which is parallel to the direction of movement.The value of the longitudinal coordinate may be ascertained by notingthe extent of movement of the slice e.g. the longitudinal coordinate ofa point, from which light (captured by a pixel) emanated, may bedirectly related to the degree of movement of the slice from a referencelocation which embodies that point. Such movement is in turn issynchronised with the capturing of the successive frames by the camerain that each time a frame is captured the position of the graphic isknown and hence the longitudinal coordinate of that slice is known.

A latitudinal coordinate of that slice is ascertainable from the datacaptured by the relevant pixel, for the succession of frames, for thisis determined by the design of the graphic.

The detail of the graphic in each slice may be unique so that the sliceis distinguishable from any other slice in the graphic. Alternativelythe detail of the graphic in each slice in a defined set of consecutiveslices may be unique in that set of slices.

The size and shape of the reference surface are determined by the shapeand size of the screen, and by the direction and extent of movementthereof.

The reference surface, also referred to as a slidable surface, can takeon a variety of shapes as depicted, by way of example only, in FIGS. 3ato 3 d.

FIGS. 3a, 3b and 3c depict surfaces of revolution, which can undergorotational sliding motion about a vertical axis. In these figures, thecircular gridlines are lines of latitude, while the gridlinesperpendicular to them are lines of longitude.

The cylindrical surface in FIG. 3b can also undergo translationalsliding motion along the cylinder's axis. In this case the circulargridlines would be lines of longitude, while the straight gridlineswould be lines of latitude.

FIG. 3d depicts a slidable surface that is a helicoid, which can undergosliding motion that is a combination of translation (along thehelicoid's axis) and rotation (about the helicoid's axis) in apredetermined ratio. The spiral gridlines are lines of latitude, whilethe complementary gridlines are lines of longitude.

The slices of the graphic, also referred to herein as segments of thegraphic, are preferably contiguous—i.e. adjacent one another over theextent of the graphic.

The invention also provides a method of generating data relating to aspecular surface of an object, the method including the steps of:

-   -   (a) providing a graphic of predetermined characteristics,    -   (b) positioning at least one camera at a fixed position relative        to the object whereby the camera can view the object,    -   (c) causing the graphic to move relative to the object along a        notional reference surface that is stationary relative to the        object,    -   (d) causing the camera to capture a plurality of frames of the        object, each frame including a plurality of pixels, wherein each        frame is associated with a respective position of the graphic in        the reference surface, and    -   (e) relating each pixel which recorded light to a scene point in        the reference surface from which that light emanated.

The frames may be captured at a rate which is dependent on the speed ofmovement of the graphic. As the data in each pixel is dependent on theposition of the graphic relative to the object, a longitudinalcoordinate of the scene point in the graphic from which the light in thepixel originated can be determined.

In one embodiment, the graphic in an elongate direction may at leastnotionally be divided into a plurality of contiguous elements orsegments referred to as slices (as per the definition thereof). Withineach slice the characteristics of the graphic are related to theposition of the slice, in the graphic, and hence related to thelatitudinal coordinate of the graphic in the reference surface fromwhich the light in the respective pixel originated.

The graphic may be a latitude-encoding graphic.

It is apparent e.g. from FIGS. 3a to 3d and from FIGS. 10a to 10d andfrom the definition of a self-sliding surface that a variety ofdifferent shapes are possible for a screen shaped as a slidable surface.In one example of the invention the screen is partly arcuate orcylindrical in one direction. The shape of the surface is defined in onedirection by the direction of movement of the graphic, and, in atransverse direction, is defined by a surface on which the graphic lies.

The invention also extends to an apparatus to generate data relating toa specular surface of an object, the apparatus including:

-   -   (a) a screen that is movable relative to the object;    -   (b) a graphic rendered on the screen, wherein the graphic is        notionally divided into contiguous segments such that the        graphic content in each segment allows that segment to be        distinguished from a plurality of other segments;    -   (c) at least one camera for capturing successive frames of the        object, illuminated by said graphic, during said relative        movement of the screen; and    -   (d) a computing device that accepts data from pixels of the        captured frames.

The graphic may be elongate with a length which is greater at least byan order of magnitude than its width.

Features of the invention, listed hereinbefore, may be combined with oneanother, according to requirement.

The invention also provides an apparatus to facilitate generation ofdata relating to the shape of a partially or totally specular surface ofa stationary object, the apparatus including:

-   -   (a) a screen having a leading edge and a trailing edge which are        spaced from one another across a width dimension of the screen,        wherein the screen is movable relative to the object such that        the trailing edge follows the leading edge on a notional surface        between respective start and end positions;    -   (b) at least one stationary camera capable of capturing a        succession of frames of the object; and    -   (c) a static graphic of predetermined characteristics carried by        the screen.

The camera may be positioned on an opposing side of the notional surfacefrom the object, such that the screen occludes the object from thecamera at some point during its motion.

The screen may be longer by an order of magnitude or more than it iswide. The screen may be substantially arcuate along its length.

The screen may be movable by rotating about an axis. The axis may benotional or physical.

The static graphic may be notionally divisible by notional dividinglines into at least twenty notional slices of approximately equalthickness wherein:

-   -   (a) each notional dividing line extends through the screen's        leading edge and the screen's trailing edge;    -   (b) the notional dividing lines are oriented such that the        notional slices, when carried by the movable screen, move        longitudinally; and    -   (c) the graphic content contained in any notional slice is        distinguishable from the graphic content contained in an        adjacent notional slice.

The longitudinal movement of the notional dividing lines is thus suchthat the movement is parallel to the direction in which the notionaldividing lines extend.

Preferably each notional slice has a thickness approximately equal to apredetermined speed at which the movable screen is capable of movingdivided by a predetermined rate at which the camera is capable ofcapturing frames.

Preferably the notional slices are each unique or are distinguishablefrom one another and are non-repeating for at least twenty consecutivenotional slices.

Preferably there are substantially more than twenty slices.

As the number of slices (for a graphic) is increased, the size of eachslice is reduced and the resolution of the apparatus is increased.

The screen may be substantially arcuate along a dimension that issubstantially perpendicular to its width.

The screen may be curved along two perpendicular dimensions.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention is further described by way of examples with reference tothe accompanying drawings wherein:

FIGS. 4a to 4c are used to illustrate the concept of the invention,

FIG. 5 is an example of a latitude-encoding graphic with a longitudecoordinate varying horizontally and a latitude coordinate varyingvertically,

FIG. 6 is an example of an latitude-encoding graphic based on what isshown in FIG. 5 being repeated at consecutive latitude intervals andwith particular latitude codewords modified by introducing dots,

FIG. 7 depicts a relationship of some terms used herein,

FIGS. 8a, 8b and 8c are different schematic views of a self-slidingsurface used to inspect the surface of an automobile using alatitude-encoding graphic,

FIG. 9 illustrates in block diagram form some aspects of the invention,and

FIGS. 10a to 10d illustrate some exemplary embodiments of the screenwith a few slices illustrated on each.

(There is no FIG. 2).

DESCRIPTION OF PREFERRED EMBODIMENTS

Conceptual aspects of the invention are described by way of a simplifiedexample with reference to FIGS. 4a, 4b , and 4 c.

A latitude-encoding graphic 20, which in this instance comprises a whitetriangle on a black background, is carried on a screen (not shown) at aconstant speed in a direction U i.e. from the left to the right. Thegraphic has a height H and a width W. The graphic's initial displacement205 is zero. A fixed point 204 is located in the path of the movinglatitude-encoding graphic, in a stationary reference surface 209, eachpoint of which can be identified by latitude V and longitude Ucoordinates.

If regard is had to the intensity of light emanating from a givenstationary point 204 which lies in the path of the movinglatitude-encoding graphic then, in general, the point turns from blackto white and then from white to black as the triangle in the graphictraverses it. The period of time for which the point remains white(between these transitions) depends on the latitude of the point. Thegreater is the latitude the shorter is the duration of the period oftime for which the point remains white. The greater is the longitude,the later are the times at which the point changes colour. If thescreen's displacement 206 (FIG. 4b ) when the point turns from black towhite is s₁, and if the screen's displacement 207 (FIG. 4c ) when thepoint turns from white to black is s₂ then the point's location can bededuced from the following equations:

${latitude} = {H - {\frac{H}{W}( {s_{2} - s_{1}} )}}$${longitude} = \frac{s_{1} + s_{2}}{2}$

Any given point on the encoded scene surface emanates (as a light signalover the screen's displacement) a rectangular pulse whose width encodesthe point's latitude, and whose delay (or shift) encodes the point'slongitude, and in this way temporal encoding of all the scene pointstraversed by the graphic is achieved.

A pixel of a camera 90 responsive to a particular scene point 204 in theencoded scene surface (via an optical path 201 which may involvespecular reflection on the object 92) observes a light signal thatencodes the scene point's latitude V and longitude U, and may be decodedin principle by means of the aforementioned equations.

FIG. 9 Illustrates in block diagram form some components of someembodiments of the present invention, which components include astationary object 92 under inspection (which may have a specularsurface), a stationary camera 90 observing the object, and a scene pointencoder 76.

The scene point encoder 76 in FIG. 9 comprises a screen 78 which isshaped as a slidable surface, a latitude-encoding graphic 80 carried bythe screen and illuminating the object, a mechanism 84 by means of whichthe screen can be caused to move with sliding motion, a power source 86providing energy potentially required by other components of the scenepoint encoder, and a synchronizing means 94 by which the position of thescreen 78 at the time of each frame capture (by the camera 90) can beascertained or estimated. During the sliding motion, thelatitude-encoding graphic 80 is carried by the screen 78 during what isreferred to as the scan procedure, while the camera 90 captures asuccession of frames which are each associated with a particularposition of the screen 78.

Some variations of the present invention have already been accommodatedwithin the definitions of terms used to describe the invention. Some ofthose and further variations of some parts of the present invention aredescribed briefly below by way of example only.

The means of associating each frame captured by the camera (or cameras)with a scan state corresponding to the frame's time of capture, can takemany different forms, and is not here considered as a significantproblem to solve. In the case of the screen undergoing controlled motionwith a time-predictable position, known speed, it may simply be a matterof deducing the scan state (implying screen position) corresponding toeach frame from the frame's timestamp. Alternatively, the position ofthe screen can be tracked by means of a distance sensor and a stateestimation algorithm such as Kalman filtering. A third examplepossibility is to signal motion-increments optically into the successiveframes, and deduce the screen position for each frame by extracting thisinformation.

In some embodiments the screen may be planar (as depicted for example inFIG. 10a ) in shape and undergo linear or rotational motion during thescan procedure.

In alternative embodiments the screen may be an arcuate (cylindrical)surface as depicted for examples in FIG. 10b and FIG. 10c undergoinglinear motion along an axis A-A in FIG. 10b and FIG. 10c during the scanprocedure.

In alternative embodiments the screen may be spherical in shape asdepicted for example in FIG. 10d and undergo rotational motion along acurved axis A-A in FIG. 10d such as by pivoting about some axis(perpendicular to A-A at all points and equidistant from those points).For example in the case of a spherical screen (or any screen withcurvature in two directions) the graphic is distorted during renderingto conform with the intrinsic latitude and longitude coordinate systemof the screen.

Further embodiments with different screen shapes are accommodated withinthe definition of the term self-sliding surface to which the screen mayconform if it is a slidable surface.

The latitude-encoding graphic may take the form of the examples depictedin FIG. 5, FIG. 7, and within FIG. 4a as item 20, with latitude varyingvertically and longitude varying horizontally. In FIGS. 5 and 7, thegraphic is mapped to a Cartesian coordinate system on the plane, but ingeneral can be mapped to any latitude-longitude coordinate system of aslidable surface, which may distort the rendered version of the graphicaccordingly. FIG. 7 also embodies pictorial examples of the termslatitude, longitude, trailing edge, leading edge, readable slice, andreading resolution, and the relationship of these terms to one anotherand to a graphic of the kind shown in FIG. 6.

Further embodiments with different latitude-encoding graphics areaccommodated within the definition of the term latitude-encodinggraphic.

The latitude-encoding graphic, and the self-sliding surface to which thescreen conforms, may be selected independently and combined to yield avariety of different embodiments of the scene point encoder, andtherefore of the present invention.

In one embodiment the screen may be the surface of an optical diffusersheet installed into a structure that holds it fixed in the appropriateshape (of a slidable surface), and onto which the latitude-encodinggraphic is printed, and to which back lighting may be applied.

In an alternative embodiment the latitude-encoding graphic may beprinted on a passive white sheet, held fixed in an appropriate shape (ofa slidable surface) and illuminated by ambient or artificial externalillumination.

For purposes of inspecting objects with surfaces that are more specularto infrared light than to visible light, the screen may be embodied, forexample, by a metallic sheet shaped appropriately and potentiallyheated, with the graphic applied to it by means of an emissive substancesuch as black paint. This is also known as an emissivity-coded screen in[Höfer et. al 2016]

A latitude-encoding graphic can be repeated at successive intervals oflatitude. The repetition naturally introduces ambiguity in thelatitudinal coordinate from whence any particular signal of lightemanated. To resolve these ambiguities, marker-assisted spatialphase-unwrapping algorithms can be used if certain assumptions can bemade about the surface of the object under inspection. One way tointroduce absolute markers for such algorithms would be to makemodifications to particular latitude codes in the latitude-encodinggraphic, for example by introducing dots. It should be noted, however,that this technique is in part just a repeated application of theconcept essentially employing multiple graphics concurrently. Each sliceof the latitude-encoding graphic, or in a defined set of slices shouldbe unique, and distinguishable from all other slices, or from all otherslices in the set (as the case may be). In this way data detected by apixel can be uniquely associated with the scene point thereof i.e. thepoint of origin of the light which conveyed that data to the pixel.

FIG. 5 is a typical example of a latitude-encoding graphic wherein thelatitude varies vertically and the longitudinal coordinate varieshorizontally marked on the drawing. FIG. 6 shows multiple instances ofthe latitude-encoding graphic in FIG. 5, repeated at different latitudesbut with particular latitude codes modified by introducing dots.

The inventive concept described herein can be used in a variety ofapplications and, typically, in the field of deflectometry and surfacemetrology. FIGS. 8(a), 8(b) and 8(c) illustrate in perspective fromabove and from one side and from one end respectively, and somewhatschematically, an apparatus 40 which is employed to inspect the specularsurface of a vehicle 42. The vehicle is stationary on a platform 44. Thesurface of the vehicle is monitored by means of a plurality of cameras46 which are at all times stationary and in fixed positions relative tothe vehicle 42.

A carrier 48 is movable in a controlled manner, in a direction 50,relative to the vehicle 42. In this example the carrier 48 is in theform of an arch which extends from a surface of the platform 44 on oneside of the vehicle to a surface of the platform on an opposing side ofthe vehicle.

The carrier 48 on an inner surface 54 carries a unique image ofpredetermined characteristics e.g. a latitude-encoding graphic of thekind shown in FIGS. 6 and 7. With the movement of the carrier, thegraphic traverses a self-sliding surface 52 (shown in dotted lines). Dueto the arcuate surface on which the graphic lies, a substantial fractionof the vehicle's surface can be mapped (to scene points in the encodedscene surface 52) from the perspective of cameras 46.

The graphic can be backlit using suitable light sources which arecarried by the carrier or, if required, use can be made of ambientlight. Irrespective of the illumination mechanism adopted each cameracaptures a succession of frames of views of the surface of the vehicleas the carrier is moved relative to the vehicle. The time at which eachframe is captured by a camera is known and the position of the carrierand hence of the graphic at that time is also known. During thecarrier's motion (in the direction 50) any given scene point (e.g.observed by a camera pixel via specular reflection) may be visited byall points of a given latitude codeword in the latitude-encodinggraphic. To the extent that the latitude codeword has shift-invariantdistance to all other latitude codewords in the graphic, it can beidentified uniquely to ascertain the latitude of the observed scenepoint in the graphic.

By way of example only the speed of the moving graphic depends on thenumber of frames per second and is such that the distance moved by thegraphic between successive frame captures of the camera may be between0.2 mm (for inspecting small objects) and 20 mm (for inspecting largerobjects).

The length of the graphic is dependent on the particular application andmay vary from 100 mm to 10 meters. The width of the graphic ismaterially less than the length of the graphic typically about from 3%to 30% of the length of the graphic.

The width of a slice is ideally zero. Practically though it can beincreased up to approximately the same value as the distance moved bythe graphic between successive frame captures i.e. from 0.2 mm to 20 mm.

Typically at least twenty frames per second are captured. However thegreater is the rate of frame capture the better is the resolution of thescene point encoder.

These numerical and comparative values, and other numerical andcomparative values given in the specification, which have beenestablished through design and test work to yield satisfactory resultsrelate to inventive features of various embodiments of the invention.

FIG. 9 Illustrates in block diagram form some components of a scenepoint encoder 76 according to the invention.

The encoder 76 includes a carrier 78 with a screen 78 which carries alatitude-encoding graphic 80. The screen 78 undergoes sliding motion (inthis example is movable in a linear manner in a fixed direction and in acontrolled manner) by means of a drive mechanism 84 using energy from apower source 86. At least one stationary camera 90 is in a fixedposition relative to a stationary object 92, a surface of which is to bemonitored, in the manner described hereinbefore. Movement of the screen78 is synchronised (94) by means of a computing device 96 with thecapturing by the camera 90 of a succession of frames of the object insuch a way that the position of the graphic 80 (in the direction ofmovement) is ascertainable for each frame i.e. the longitudinalcoordinate is determined. The data in each pixel, for the succession offrames captured by the camera enables the identity (position) of theslice from which the light captured by that pixel originated, to bedetermined i.e. the latitudinal coordinate is known. Thus thecoordinates of the scene point in the surface are determined.

The plurality of scene points, determined in this manner constitutes thelight map of the surface of the object 92.

FIG. 10a similarly illustrates a planar screen 100 which can beparameterized by a Cartesian coordinate system. FIG. 10b shows acylindrical screen 102 (which is also a slidable surface with linearsliding motions). FIG. 10c shows a screen 106, edges of which aretapered towards opposed polar extremities 108 and 110. This has theeffect of requiring a graphic that is not rectangular in shape (whenexpressed in the Cartesian plane), but tapered towards the high and lowlatitudes. FIG. 10d shows a spherical screen 112 (which is a slidablesurface with rotational sliding motions) which can be parametrized by aspherical coordinate system. When a graphic is applied to this screen,the mapping to the spherical coordinate system distorts the(rectangular) graphic by compressing the slices increasingly near thepolar extremities 110 and 108. In all these FIGS. 10a, 10b, 10c, and 10d, the notional lines dividing the graphic into contiguous segments orslices run along lines of latitude, which are also parallel to thedirection of motion.

References: Link Citation (inconsistent format) Relevance Huang et alHuang, Lei, Idir, Mourad, Zuo, Chao, and Asundi, Phase measuring 2018Anand. Sat. “Review of phase measuring deflectometry deflectometry”.United States. doi: 10.1016/j.optlaseng.2018.03.026. https://www.osti.gov/servlets/purl/1438323. Höfer et al Höfer, Sebastian &Burke, Jan & Heizmann, Michael. Infrared 2016 (2016). Infrareddeflectometry for the inspection of diffusely specular surfaces.Advanced Optical Technologies. 5. 10.1515/aot-2016-0051. Balzer et al J.Balzer, D. Acevedo-Feliz, S. Soatto, S. Höfer, M. Multiple displays 2014Hadwiger and J. Beyerer, “Cavlectometry: Towards around object HolisticReconstruction of Large Mirror Objects,” 2014 2nd InternationalConference on 3D Vision, Tokyo, 2014, pp. 448-455. doi:10.1109/3DV.2014.85 Zang et al Zhang, Z., Wang, Y., Huang, S., Liu, Y.,Chang, C., Gao, IR, UV, phase 2017 F., & Jiang, X. (2017).Three-Dimensional Shape measuring Measurements of Specular Objects UsingPhase- deflectometry Measuring Deflectometry. Sensors (Basel,Switzerland), 17(12), 2835. doi: 10.3390/s17122835 Rapp 2012 Rapp,Holger H. (2012). Reconstruction of Specular light map called ReflectiveSurfaces using Auto-Calibrating “simple geometric Deflectometry. KIT,Karlsruhe. DOI: mapping function” 10.5445/IR/1000030538

ANNEX A Definitions

In some of the definitions use is made of a number of terms which havespecific meanings in mathematics. The terms continuous, tuple, curve(when used as a noun), vector space, pointwise, support, embedding,one-parameter group, surface of revolution, rigid motion, parametricsurface, (generalized) cylindrical surface, continuous alphabet code,region, metric, functional, L₁ distance, L₁(X, Y) distance, Euclideannorm, Euclidean distance, function [of] and self-evident variations ofthe aforegoing terms in other grammatical cases should be interpreted inthe senses in which they are commonly understood in mathematics andgeometry. The term [signal] conditioning should be interpreted in thesense in which it is commonly understood in the field of signalprocessing.

A camera means an instrument for recording or capturing a sequence ofimages, called frames, which are subsequently stored or transmitteddigitally. The camera sensor typically includes a two-dimensional gridof sensing elements, called camera pixels, each of which transduceslight incoming to the camera from a particular direction (or smallneighborhood of directions represented by a particular nominaldirection), to produce data, called the frame pixel, describing one ormore characteristics, such as intensity, spectral components, or someother characteristic, of the light incident on that camera pixel.

A graphic is considered to be carried by a surface if it is rendered onthe surface. This implies that the rendered graphic moves with thesurface if the surface undergoes motion. More particularly for slidablesurfaces, a graphic G:

²→O is considered to be carried by a slidable surface S: ((u,v)∈R)

(P(u+s,v)∈

³) where u is longitude within the slidable surface and v is latitudewithin the slidable surface, if it is rendered on the slidable surface,which implies that the point S(u,v)=P(u+s,v), whose position isdependent on the slide parameter s, emanates light described by G(u,v).

A display means a controllable illuminant with a surface, divided into atwo-dimensional grid of neighborhoods, called display pixels, each ofwhich emanate light that can be modulated independently to display asequence of images on the surface. A display may be embodied by acomputer screen, a passive white screen with a video projector, or bysome other means.

Light may be said to emanate from a point (or equivalently: the pointcan be said to emanate light) if the light diverges from that point in avariety of directions to illuminate an object under inspection. This maybe accomplished by radiant emission (such as by points on a backlitdisplay screen), by scattering reflection (such as by points on apassive screen responding to external illumination), or even by simpletransmission (such as by a transparent material) from a relativelyuniform background, or by other means.

An encoded scene surface means a region of a (potentially notional)reference surface, which region is traversed both by the leading edgeand by the trailing edge of a slidable surface carrying alatitude-encoding graphic.

The encoded light map for a given camera observing a given object in agiven scene means an association mapping camera pixels to signals thatpotentially correspond to scene points to which those camera pixels areresponsive, which signals may potentially be decoded into the scenepoints by a predetermined algorithm.

A graphic means a mathematical function G:R⊂

²→O of two coordinates, where O is some set of optical quantities, andR⊂

² is a bounded region of

². Equivalently a graphic may be represented by G:

→O with support on a bounded region R⊂

² outside of which the graphic's value is assigned to optical zero. Agraphic G: (R⊂

²)→O is considered to be rendered on a parametrically described surfaceP:

²→

³ if each point P(u,v) of the surface emanates light as described by thecorresponding point in the graphic G(u,v). Therefore, depending on thegeometry of the slidable surface and the coordinate system by which itis parametrized, the graphic may appear on the surface in a stretched ordistorted form, as is unavoidable if the surface is geometrically not adevelopable surface.

The inter-fold distance of a latitude-encoding graphic means the minimalshift-invariant distance between any two readable codewords that arespaced apart in latitude by at least

$\frac{\pi}{2\arctan 2N}$

where N is the latitudinal code nonlinearity of the latitude-encodinggraphic. More formally, the inter-fold distance is

$\min\{ {{\min\{ {{\int_{\infty}^{\infty}{{{{\frac{1}{d}{\int_{v_{1} - {\frac{1}{2}d}}^{v_{1} + {\frac{1}{2}d}}{{G( {u,w} )}{dw}}}} - {\frac{1}{d}{\int_{v_{2} - {\frac{1}{2}d}}^{v_{2} + {\frac{1}{2}d}}{{G( {{u + s},w} )}{dw}}}}}}_{2}{du}}}❘{s \in {\mathbb{R}}}} \}}:{{{v_{2} - v_{1}}} \geq \frac{\pi}{2\arctan 2N}}} \}$

where G:

→O is the latitude-encoding graphic and d is the reading resolution.

latitude: see longitude and latitude.

A latitude-encoding graphic means a graphic G: R⊂

²→O (intended to be rendered on a slidable surface) such that at eachlatitude v there appears a spatially-varying (along longitude u) opticalsignal G_(v): u

G(−u,v) called a latitude codeword. Ideally the encoding function v

G_(v) mapping each latitude to its codeword is a continuous alphabetcode and the latitude codewords form a topologically continuousone-dimensional metric space of optical signals. Practically, however,the latitude-encoding graphic may be notionally divided into asubstantial but finite number of readable slices, the readable codewordsof which are distinguishable from one another for practical purposes.

latitude codeword: see latitude-encoding graphic.

The latitudinal code gradient of a latitude-encoding graphic means therate at which the readable codeword changes with respect to latitude.More particularly, the latitudinal code gradient at a given latitude vis the shift-invariant distance between the two adjacent readablecodewords that are both bordered by the line of latitude v, divided bythe reading resolution. More formally, the latitudinal gradient of alatitude-encoding graphic G:

²→O at a given latitude v can be defined as

$\frac{1}{d}\min\{ {{\int_{- \infty}^{\infty}{{{{\frac{1}{d}{\int_{v - d}^{v}{{G( {u,w} )}{dw}}}} - {\frac{1}{d}{\int_{v}^{v + d}{{G( {{u + s},w} )}{dw}}}}}}_{2}{du}}}❘{s \in {\mathbb{R}}}} \}$

where d is the reading resolution.

The latitudinal code packing coefficient of a latitude-encoding graphicG: R⊂

²→O means the median (over all latitudes) latitudinal code gradientdivided by

$\frac{( {{\max\{ u \middle| {( {u,v} ) \in R} \}} - {\min\{ u \middle| {( {u,v} ) \in R} \}}} )}{( {{\max\{ v \middle| {( {u,v} ) \in R} \}} - {\min\{ v \middle| {( {u,v} ) \in R} \}}} )}{O_{\max}.}$

This definition is designed such that the latitudinal code packingcoefficient is equal to 1.0 for a latitude-encoding graphic comprisingonly a triangle (as illustrated in FIGS. 4(a) to 4(c)). More efficientcodes achieve higher latitudinal code packing coefficients.

The latitudinal code nonlinearity of a latitude-encoding graphic at aparticular latitude v is the L₁(

,O) distance between a readable codeword and the average of itsneighbors, divided by the L₁(

,O) distance between the neighbors. More formally, the latitudinal codenonlinearity of a latitude-encoding graphic G:

²→O at latitude v is

$\frac{{{G_{v}^{\prime} - {\frac{1}{2}( {G_{v - d}^{\prime} + G_{v + d}^{\prime}} )}}}_{L_{1}}}{{{G_{v - d}^{\prime} - G_{v + d}^{\prime}}}_{L_{1}}},$

where G′_(v) denotes the readable codeword centered at latitude v. If areadable codeword is equal to the average of its neighbors, thelatitudinal code nonlinearity is zero at that latitude.The leading edgeof a slidable surface means the curve consisting of, for each latitudeoccurring in the surface, the point of maximal longitude at thatlatitude. More formally, the leading edge is {S(u,v)|(

(u′,v′)∈R)[v=v′∧u′>u])} if the slidable surface is describedparametrically by S: ((u,v)∈R)

(P(u+s,v)∈

³).

The term light map for a given camera observing a given object in agiven scene means an association mapping (some) camera pixels to thescene points to which those camera pixels are responsive (potentiallyvia specular reflection on the surface of the object). Each camera pixelis either mapped to a scene point, in which case it is said to be amapped pixel, or is an unmapped pixel and associated with no scenepoint. (Since pixels typically have non-zero extent, each camera pixelis typically responsive to a neighborhood of scene points. Theneighborhood corresponding to a given mapped pixel is represented in thelight map by a single scene point that is near to all scene points inthe neighborhood.)

The noun light means electromagnetic radiation of wavelengths shorterthan 1 millimeter. This would include, for examples, infrared, visiblelight, ultraviolet, etc.

A line of latitude means a line or curve, all points of which have thesame latitude.

A line of longitude means a line or curve, all points of which have thesame longitude.

The terms longitude and latitude, when used in reference to aself-sliding surface (or some region thereof), shall be understood asreferring to two coordinates that jointly identify any point of theself-sliding surface, defined such that if the surface undergoes asliding motion along with every point within it, every point remains atits original latitude (in reference to the original unslid surface)while every point undergoes the same change in longitude (in referenceto the original unslid surface), which shall be referred to as the slideparameter (of the sliding motion). (This is akin to the motion andcoordinate system of the Earth's surface as the Earth revolves about itsown axis.) The slide parameter may represent a linear displacement, anangle of rotation, or a combination thereof. A self-sliding surface withthis coordinate system can be described parametrically by (u,v)

(P(u+s,v)∈

³) for some P:

²→

³, where s is the slide parameter, and u and v are longitude andlatitude respectively.

When longitude and latitude are used in renference to a graphic, theymean the first and second (respectively) coordinates that jointlyidentify any point in the graphic. See also the defined meaning ofrendering a graphic on a slidable surface.

mapped pixel: see light map.

The optical distance between two optical values O₁ and O₂ (which may bescalar or vector) means the Euclidean norm of the difference betweenthose two optical values ∥O₁−O₂∥₂. The optical distance between twooptical signals f:

→O and g:

→O means the integral of the pointwise optical distance betweencorresponding values in those signals, ∫_(∞) ^(∞)μf(u)−g(u)∥₂du, whichis also known mathematically as the L¹(

,O) norm of the pointwise difference between the signals. If O is abounded region of

(e.g. grayscale value varying between black and a predetermined white)then the optical distance between f:

→O and g:

→O can be visualized as the area enclosed between their plots.

The optical maximum O_(max) of a graphic G: R⊂

²→O means max {∥G(u,v)∥₂|(u,v)∈

²}, which is, of all optical values appearing in the graphic, theoptical value that is most optically distant from optical zero. For agraphic of visible light, black typically corresponds to optical zeroand white typically corresponds to optical maximum.

An optical signal means a signal whose codomain consists of opticalquantities. An optical signal may, for example, describe light varyingtemporally or spatially.

An optical quantity means a quantitative description of the nature oflocal light (e.g. emanating from some local point or neighborhood, orentering a camera pixel). An optical quantity describing, for example,grayscale luminous intensity would be a scalar, whereas an opticalquantity describing multiple spectral components (such as, for example,the intensities of red, green, and blue light) would be a tuple vector.In general an optical quantity may describe any aspect of light that canbe quantified by a camera pixel in principle.

The term optical zero means an optical quantity value serving as abackground or default quantity in the absence of modulation. Forexample, the absence of light (i.e. darkness) would typically beconsidered optical zero, if the background in the absence of modulationis dark. Alternatively some other substantially uniform background canin principle influence the meaning of optical zero. Optical zero isrepresented numerically as O.

A readable codeword of a latitude-encoding graphic means a (spatial)signal over longitude that is the latitude-averaged readable slice of alatitude-encoding graphic. More particularly, for a readable slice of alatitude-encoding graphic G:

²→O between latitudes v−½d and v+½d (where d is the reading resolution)the readable codeword is

$G_{v}^{\prime}: ( {u \in {\mathbb{R}}} )\mapsto{\frac{1}{d}{\int_{v - {\frac{1}{2}d}}^{v + {\frac{1}{2}d}}{{G( {u,v} )}d{v.}}}} $

A readable slice (of a graphic) means a region (contiguous segment) of arendered graphic between two lines of latitude separated (wherever theyare most distant from each other) by a distance equal to the readingresolution.

The reading resolution of a given camera positioned in relation to anobject and a scene surface, means a predetermined dimensionapproximating the minimum size of the region of scene points to which asingle camera pixel is responsive, via specular reflection on a flatsurface of the object under inspection. More particularly, for a camerawith N_(h) pixels across a width dimension corresponding to the camera'slateral angle of view of α_(h), and where the camera is separated fromthe object under inspection by a distance of d_(c) and where the scenesurface is at its closest point a distance d_(s) from the object, thereading resolution is given by

${\frac{2( {d_{c} + d_{s}} )}{N_{h}}\tan\frac{\alpha_{h}}{2}}.$

The reference surface of a slidable surface means the self-slidingsurface of which the slidable surface is a region, along with itscoordinate system, fixed in position such that the slide parameterremains zero. The reference surface with its coordinate system can bedescribed parametrically by (U,V)

(P(U,V)∈

³) if the self-sliding surface is described by (u,v)

(P(u+s,v)∈

³) where s is the slide parameter.

render: see graphic.

A camera pixel may be said to be responsive to a scene point if thereexists an optical path connecting that scene point to the camera pixel,either directly or via specular reflection, along which light emanatingfrom the scene point can stimulate the camera pixel.

The scanning resolutionmeans the a predetermined distance approximatingthe maximum distance by which any point of a screen carrying a graphicmoves between two consecutive frame captures by the camera, asdetermined by a predetermined speed at which the screen moves and by apredetermined rate at which the camera captures frames.

The scene means the surroundings of an object under inspection.Typically a reflected (and possibly distorted) image of some part of thescene is visible as a reflection in the specular surface of the objectunder inspection, if the surface is specular to visible light.

A scene point means a point of the scene surface, with latitude andlongitude determined in reference to the (stationary) scene surface.

The term scene point encoding means modulation of light (over time orover some time-dependent variable) emanating from scene points such thatthe modulated light emanating from each scene point carries informationabout the location of that scene point.

The term scene point decoding means an attempt (e.g. by a computer) torecover the location of a scene point from observation of the lightemanating from it, as modulated by scene point encoding.

A scene surface means a (physical or notional) surface consisting ofpoints in the scene, each of which can potentially emanate light. Thescene surface is stationary relative to (i.e. held in fixed relationshipwith) the object under inspection.

A self-sliding surface means a smooth surface S⊂

³ that is invariant under some continuous one-parameter group oftransformations, which shall be referred to as sliding motions. If thesliding motions are rigid motions (as would be required if the surfaceis rigid), then the self-sliding surface may be any of the followingexamples:

-   -   a plane (permitting as sliding motions: rotations about an axis        perpendicular to the plane, or translations parallel to the        plane, or an arbitrary predetermined combination of such        rotation and translation)    -   a surface of revolution (permitting as sliding motions:        rotations about the axis of the surface of revolution) e.g. FIG.        3(a)    -   a generalized cylindrical surface (permitting as sliding        motions: translations along the cylinder's axis) e.g. FIG. 3(b)    -   a generalized helicoid (permitting as sliding motions: a        particular proportional combination of rotation about the        helicoid's axis and translation along the helicoid's axis) e.g.        FIG. 3(c)    -   a circular cylinder (permitting as sliding motions: rotations        about the cylinder's axis, or translations along the cylinder's        axis, or an arbitrary predetermined combination of such rotation        and translation) e.g. FIG. 3(d)        Non-rigid surfaces (such as may be embodied as the physical        surface of a flexible material conveying between rollers) may        also comply with the definition of a self-sliding surface.

A screen means a surface on which a predetermined graphic can berendered. If the screen moves the predetermined graphic is carried alongwith the screen.

To shift a signal x

f(x) by Δ, or apply a shift Δ to the signal, means transforming thesignal into x

f(x−Δ).

The shift-invariant distance between two optical signals f:

→O and g:

→O means the optical distance between them, minimized over all relativeshifts between the signals. Or more formally: min{∫_(∞)^(∞)∥f(u)−g(u+s)∥₂du|s∈

}. Informally, the shift-invariant distance between two optical signalsis the signal distance between them after aligning them to each other.The shift-invariant distance is deliberately defined such that its valuedoes not change when one of the signals under considerations is shiftedrelative to the other.

A signal means a mathematical function of one scalar variable, such asscan state (temporally varying), or longitude (spatially varying).

A slidable surface means a bounded region of a self-sliding surface.When a slidable surface undergoes sliding motion, it remains confined tothe self-sliding surface of which it is a region. And if it undergoessubstantially sliding motion, it remains substantially confined to thesurface of which it is a region.

A sliding motion: see self-sliding surface.

A specular surface means a glossy surface of a physical body on which(at the scale of neighborhoods observed by individual camera pixels, andat the wavelengths of light observed by the relevant camera) at least anon-negligible fraction of incoming light undergoes specular reflectionrather than diffuse reflection.

A surface means a surface in the geometric (mathematical) sense of theword, in physical space without necessarily involving any physical bodyunless it is a surface of a body. A Surface is a generalization of aplane or subplane that needs not be flat, meaning that the curvature isnot necessarily zero. This is analogous to a curve generalizing astraight line or curve segment generalizing a line segment.

The trailing edge of a slidable surface means the curve consisting of,for each latitude occurring in the surface, the point of minimallongitude at that latitude. More formally, the trailing edge is{S(u,v)|(

(u′,v′)∈R)[v=v′∧u′<u])} if the slidable surface is describedparametrically by S: ((u,v)∈R)

(P(u+s,v)∈

³).

unmapped pixel: see light map.

1. An apparatus to facilitate generation of a light map sensitive to apartially or totally specular surface of an object under inspection, theapparatus including: (a) a screen conforming substantially to aself-sliding surface that is movable relative to the object by slidingmotion parametrized by a slide parameter which identifies a position ofthe screen within its set of positions traversable by the slidingmotion, wherein the screen has a latitude and longitude coordinatesystem such that the sliding motion is longitudinal, wherein the screenhas a leading edge and a trailing edge which are spaced from one anotheracross a longitudinal dimension of the screen and the sliding motion issuch that the trailing edge follows the leading edge on a stationarynotional surface between respective start and end positions of thescreen, wherein the stationary notional surface that is traversed bothby the screen's leading edge and by the screen's trailing edge duringthe sliding motion of the screen is an encoded scene surface, wherein atleast a part of the surface of the object that is under inspectionreflects into the camera light emanating from or passing through theencoded scene surface, (b) a latitude-encoding graphic carried by thescreen in accordance with its intrinsic latitude and longitudecoordinate system, wherein the latitude-encoding graphic consists oflatitudinally-varying longitudinal slices, which are latitude codewords,(c) at least one camera, held in a fixed spatial relationship relativeto the object, for capturing successive frames of the object during saidrelative sliding motion of the screen, and (d) a computing device thataccepts data of the captured frames for storage or processing, whereinlight emanating from any scene point in the encoded scene surface, as afunction of the slide parameter, is describable by the scene point'slatitude's codeword shifted according to the scene point's longitudinalposition in the encoded scene surface.
 2. An apparatus according toclaim 1 wherein the graphic illuminates the object during the slidingmotion.
 3. An apparatus according to claim 1 wherein each captured frameis associated with the slide parameter's value at the time that theframe was captured.
 4. An apparatus according to claim 1 wherein thescreen is movable relative to the object with one degree of freedom. 5.An apparatus according to claim 1 wherein if the screen is describedparametrically by ((u,v)∈R)

(P(u+s,v)∈

³) where u is longitude on the screen, v is latitude on the screen, s isthe scan state, and P(u+s,v)∈

³ is the physical location of the point with screen longitude u andscreen latitude v, and if the latitude-encoding graphic is (u,v)

G(u,v), then the light emanating from any moving point P(u+s,v) isdescribed by G (u,v).
 6. An apparatus according to claim 1 wherein thelatitude-encoding graphic is selected to comply with at least one of thefollowing: (i) such that each respective latitude corresponds to aunique readable codeword, or such that readable codewords atconsequentially different latitudes are recognizably different from oneanother; (ii) such that readable codewords at consequentially differentlatitudes are separated by a sufficient shift-invariant distance todiscriminate between them in the presence of noise or distortion; (iii)such that its latitude codewords comprise high frequency components, soas to facilitate discrimination of specular reflection from diffusereflection consisting predominantly of low-frequency components in thecombined optical signal; and (iv) such that the pointwise average ofneighbouring readable codewords is similar to the readable codewordcorresponding to the average of those neighbouring readable codewords'latitude.
 7. An apparatus according to claim 1 wherein to facilitateprospective identification of longitudes of scene points from whichobserved signals emanated the latitude-encoding graphic is selected suchthat readable codewords each have sufficiently concentratedauto-correlation functions.
 8. An apparatus according to claim 1 whereinat least one of: (i) the screen is embodied by a metallic sheet shapedappropriately and potentially heated, with the graphic applied to it bymeans of a thermally emissive substance; and (ii) the metallic sheet iscut away in regions to contrast with a background.
 9. (canceled)
 10. Anapparatus according to claim 1 wherein at least one of: (i) multiplelatitude-encoding graphics are rendered on the screen to occupyconsecutive intervals of latitude; and (ii) the graphic is elongate witha length which is greater at least, by an order of magnitude, than itswidth.
 11. (canceled)
 12. An apparatus according to claim 1 wherein atleast one of: (i) the object is located on a platform and the screen isin the form of an arch which extends from a surface of the platform onone side of the object to a surface on the platform on an opposing sideof the object; and (ii) the distance moved by the graphic betweensuccessive frame captures is between 0.2 mm and 20 mm, the length of thegraphic is from 100 mm to 10 meters, the width of the graphic is from 3%to 30% of the length of the graphic and the width of a slice is the samevalue as the distance moved by the graphic between successive framecaptures.
 13. (canceled)
 14. An apparatus according to claim 1 whereinat least one of: (i) the latitude-encoding graphic's latitudinal codepacking coefficient is greater than 1.5; and (ii) the latitude-encodinggraphic's latitudinal code nonlinearity is less than 0.2 at alllatitudes.
 15. (canceled)
 16. An apparatus according to claim 1, whereina function mapping each latitude to its corresponding latitude codewordin the latitude-encoding graphic is a continuous alphabet code.
 17. Anapparatus according to claim 12, wherein at least one of: (i) thelatitude codewords form a continuous one-dimensional metric space ofoptical signals; and (ii) the latitude codewords are non-repeating overan interval of at least twenty consecutive uniquely recognizablelatitude codewords.
 18. (canceled)
 19. An apparatus according to claim1, wherein at least one of: (i) the screen is arcuate along only onedimension; (ii) the screen is arcuate along a dimension substantiallyperpendicular to the direction of screen's motion; (iii) the screen iscurved in two perpendicular dimensions; (iv) the screen substantiallyconforms to a surface of revolution; and (v) the screen substantiallyconforms to a generalized helicoid. 20-23. (canceled)
 24. An apparatusaccording to claim 1, wherein the distance by which the screen ismovable is at least five times greater than its own extent in thedirection of motion.
 25. An apparatus according to claim 1, wherein eachlatitude codeword has spectral bandwidth along longitude at leastcomparable to the spectral bandwidth of a high-contrast transition incolour or optical intensity.
 26. An apparatus according to claim 1,wherein at least one of: (i) the latitude-encoding graphic contains atleast one high-contrast edge extending across latitudes; and (ii) thelatitude-encoding graphic comprises longitudinally adjacent contrastingregions of internally uniform intensity.
 27. (canceled)
 28. An apparatusaccording to claim 1, wherein at least one of: (i) the latitudecodewords are unique within predetermined intervals of latitude; and(ii) the readable latitude codewords are non-repeating for at leasttwenty consecutive uniquely distinguishable latitude codewords. 29.(canceled)
 30. A method of generating data relating to a partially ortotally specular surface of an object, the method including the stepsof: (a) providing a graphic of predetermined characteristics in relationto an intrinsic latitude and longitude coordinate system, wherein thegraphic is a latitude-encoding graphic consisting notionally oflatitudinally-varying longitudinal slices which are latitude codewords,wherein the graphic is carried longitudinally by a screen movable withsliding motion parameterized by a slide parameter which identifies thescreen's position within its set of positions traversable by the slidingmotion, (b) positioning at least one camera at a fixed position relativeto the object whereby the camera can view the object, (c) causing thegraphic carried by the screen, having a leading edge and a trailing edgewhich are spaced from one another across a width dimension of the screencorresponding to a longitudinal dimension of the graphic, to moverelative to the object along a notional reference surface that isstationary relative to the object, wherein that part of the notionalreference surface that is traversed both by the screen's leading edgeand by the screen's trailing edge during movement of the screen is anencoded scene surface with a corresponding latitude and longitudecoordinate system identifying scene points within it, wherein some partof the object's surface specularly reflects into the camera lightemanating from or passing through the encoded scene surface, (d) causingthe camera to capture a plurality of frames of the object, which isilluminated by the graphic, each frame including a plurality of pixels,wherein each frame is associated with a respective position of thegraphic in the reference surface, and (e) relating each pixel whichrecorded light to a scene point in the reference surface from which thatlight emanated, wherein light emanating from any scene point in theencoded scene surface, as a function of the slide parameter, isdescribable by the scene point's latitude's codeword shifted by thescene point's longitude.
 31. A method according to claim 19 wherein atleast one of: (i) the frames are captured at a rate which is dependenton the speed of movement of the graphic; (ii) the graphic is alatitude-encoding graphic; (iii) the reference surface is a self-slidingsurface along which the latitude-encoding graphic's motion isconstrained in latitude; and (iv) the graphic comprises a plurality ofsegments divided from one another by notional lines that extend in thedirection in which the screen is locally movable, and is such that thegraphic content in any segment allows that segment to be distinguishedfrom a plurality of neighbouring segments. 32-34. (canceled)